/**
 * Chapter 0 前言
 * 编程挑战 计算机日期
 * time_t的最大值比INT_MAX要大，比LONG_MAX要小
 * ctime获取的是当前时区的时间，而非UTC时间
 */
#include <stdio.h>
#include <limits.h>
#include <time.h>
#include <unistd.h>

int main(void)
{
    time_t max_time = LONG_MAX;
    printf("%s", ctime(&max_time));
    for (time_t max_time = INT_MAX; max_time <= LONG_MAX; max_time <<= 1) {
        printf("%s", ctime(&max_time));
        printf("%s", asctime(gmtime(&max_time)));
        sleep(1);
    }
    return 0;
}